1. Invention
The present invention relates to high speed serial communication between computers and between computers, peripherals and other devices.
2. Previous Art
Fibre Channel (FC) is acn integrated set of standards developed by the American National Standards Institute (ANSI). FC is a set of standards that allows for a switching network, called a Fabric, to intelligently manage interconnections between a number of connection points, called N.sub.-- Ports. All that is required of the N.sub.-- Ports is to initiate a point-to-point connection between itself and a port (F.sub.-- Port) of the Fabric. However, the presence of a Fabric is not necessary, as FC provides for topologies without a Fabric, as in the case of a simple point-to-point link between two N.sub.-- Ports, or a Fibre-Channel Arbitrated Loop (FC-AL).
For a more complete description of the Fibre-Channel standard, reference should be made to the proposed drafts of the American National Standard for Information Systems, Fibre-Channel-Physical and Signaling Interface (FC-PH) Rev 4.3, Fibre-Channel-Physical and Signaling Interface-2 (FC-PH-2) Rev. 7.4, and Fibre-Channel -Physical and Signaling Interface-3 (FC-PH-3) Rev. 9.1 which are incorporated herewith in their entirety.
Communication between N.sub.-- Ports is based on the transfer of Data frames and Link.sub.-- -Control frames resulting from information transfer requests from other N.sub.-- Ports. According to the FC standard, each N.sub.-- Port is assigned a unique identifier to identify itself during communication. The primary function of the Fabric is to receive frames from a source N.sub.-- Port and route the frames to a destination N.sub.-- Port whose identifier is specified in the frames to be transmitted. Each N.sub.-- Port also has a permanent identifier which is worldwide unique, and is called the Worldwide Name, or WWN, which is a portion of the login service parameter.
A number of classes of service are supported by the Fibre-Channel standard. These classes specify the method of connection between the N.sub.-- Ports, the bandwidth available and the delivery integrity of the communication. The Fabric specifies the classes of services it supports in its service parameters (SP). To communicate with the Fabric or to another N.sub.-- Port, an N.sub.-- Port exchanges service parameters with the Fabric or with another N.sub.-- Port by performing a Fabric Login Protocol or an N.sub.-- Port Login Protocol, respectively. Conversely, when an N.sub.-- Port wishes to sever communications between itself and the Fabric or between itself and another N.sub.-- Port, it may request removal of its Service Parameters from the Fabric or from the other N.sub.-- Port, by carrying out an F.sub.-- Port or an N.sub.-- Port Logout Protocol.
Login is long lived, and the number of N.sub.-- Ports with which an N.sub.-- Port may be logged in is only limited by the N.sub.-- Port's available functionality and resources. A large server may potentially communicate with thousands of devices in a Fabric environment, which means the server port may have to login with thousands of N.sub.-- Ports.
However, maintaining the login service parameters of thousands of logged-in N.sub.-- Ports is costly in terms of memory storage requirements. Indeed, an N.sub.-- Port or an F.sub.-- Port login service parameter payload is 112 bytes, excluding the command code, and may be as many as 252 bytes, excluding the command code, as set forth in FC-PH-3, Rev. 9.1. The login service parameter includes the Common Service Parameters, the Port Name, the Node/Fabric Name, the Class 1,2 and 3 Service Parameters, the Vendor Version level and 16 reserved bytes. Upon completion of the login procedure, the service parameters must be stored permanently, until the F.sub.-- Port and the N.sub.-- Port, or the two N.sub.-- Ports log each other out, either explicitly or implicitly.
In a large server environment, an FCP initiator N.sub.-- Port talking to 1,000 FCP target N.sub.-- Ports is not unusual. To store the 1000 associated service parameters alone requires 100K memory space. To commit over 100K memory space for storing service parameters alone is often not acceptable at all, especially when login services are performed at the firmware level of a Fibre-Channel solution.
What is needed, therefore, is a method for reducing the memory storage overhead required to keep track of the login service parameters. This will allow for an overall reduction in cost of the Fibre-Channel solution.
Likewise, in large networks of computers, computer peripherals and like devices, the interconnected devices often are assigned a unique identifier which defines the device's identification, characteristics and requirements. These unique identifiers must be maintained in memory, and the storage requirements for doing so can be quite burdensome in terms of system resources.
What is needed, therefore, is a method for reducing the amount of memory needed to maintain such unique identifiers, while not sacrificing access thereto or functionality.